% author: Tomasz Maćkowiak
\subparagraph{}
Plone to przede wszystkim system zarządzia treścią (CMS). Pojedyncza treść w
Plone nazywa się obiektem. Może to być np. podstrona, aktualność, artykuł,
folder czy plik. Praktycznie wszystkie rodzaje obiektów dodaj się w Plone w taki sam
sposób, różnią się jedynie ilością atrybutów i właściwości.

\section{Obiekty}
\label{sec:cms:objects}
	
	\subparagraph{}
	Obiekty w Plone drzewiastą strukturę, gdzie każdy obiekt zawiera się w jakimś
	innym obiekcie typu folder. Jest to analogiczny podział do folderów
	i plików w systemie Windows. Poszczególne obiekty identyfikujemy za pomocą
	krótkich nazw, a adres url obiektu odzwierciedla jego fizyczne położenie w
	strukturze drzewa. W poniższym podrozdziale przedstawimy podstawy zarządzania
	obiektami w Plone.

	\subsection{Dodawanie obiektów}
	\label{sec:cms:objects:adding}
	
	\subsubsection{Formularz dodawania}
	\label{sec:cms:objects:adding:form}
	
	\subparagraph{}
    Nowe obiekty można dodawać do folderów. Dla każdego folderu w zakładkach
	\emph{Zawartość} i \emph{Widok} dostępne jest menu \emph{Dodaj element}
	(Rys. \ref{cms-object-adding1} s. \pageref{cms-object-adding1}). Za jego pomocą można w prosty sposób
	dodawać nową zawartość do witryny.

	\begin{figure}
    	\includegraphics[width=15cm]{images/cms-objects-adding1.png}
    	\caption{Menu dodawania obiektów}
    	\label{cms-object-adding1}
    \end{figure} 

	\subsubsection{Ograniczenia typów obiektów}
	\label{sec:cms:objects:adding:constraints}

	\subparagraph{}
    Może się zdarzyć, że typu, który chcemy dodać nie ma na liście. Są dwie
    możliwe przyczyny:
    
    \begin{itemize}
      \item zostały narzucone ograniczenia na typy obiektów możliwych do dodania
      w danym folderze,
      \item niektóre typy obiektów są niezalecane w tym folderze i są
      przeniesione do dodatkowego menu.  
    \end{itemize}
    
    W pierwszym przypadku na liście \emph{Dodaj element} pojawi się odnośnik
    \emph{Więcej} prowadzący do nowego ekranu z pełną listą możliwych
    typów (Rys. \ref{cms-object-adding2} s. \pageref{cms-object-adding2}). Należy tutaj wybrać pożądany typ a
    następnie kliknąć przycisk \emph{Dodaj}.
    
    \begin{figure}
    	\includegraphics[width=15cm]{images/cms-objects-adding2.png}
    	\caption{Pełna lista możliwych do dodania typów}
    	\label{cms-object-adding2}
    \end{figure}

	W drugim przypadku należy sprawdzić ograniczenia narzucone na folder. Można to
	zrobić z menu \emph{Dodaj element} klikając na pozycję \begin{em}Ogranicz\ldots\end{em}.
	Prowadzi to ekranu konfiguracji ograniczeń (Rys. \ref{cms-object-adding3} s. \pageref{cms-object-adding3})
	
	\begin{figure}
    	\includegraphics[width=15cm]{images/cms-objects-adding3.png}
    	\caption{Konfiguracja ograniczeń typów}
    	\label{cms-object-adding3}
    \end{figure}

	\subparagraph{}
	Na tym ekranie można przełączyć folder aby umożliwiał dodawanie standardowych
	dla niego typów obiektów (opcja \emph{Zezwól na dodawanie standardowych typów
	treści}). Jest to ustawienie domyślne.
	
	Ustawienie \emph{Ręcznie wskaż typy} może być przydatne w dwóch przypadkach:
	\begin{itemize}
      \item Gdy chcemy aby do folderu można było dodawać tylko określone typy
      treści. jest to przydatne jeśli dla przykładu tworzymy folder
      \emph{Wiadomości} w którym chcemy przechowywać jedynie obiekty typu
      \emph{Wydarzenie}. Można to osiągnąć odznaczając w sekcji \emph{Dozwolone
      typy treści} wszystkie pola oprócz \emph{Wydarzenie}. Po zapisaniu zmian i
      powrocie do naszego folderu w menu \emph{Dodaj element} powinniśmy mieć
      dostęp do tworzenia jedynie obiektów typu \emph{Wydarzenie}.
      \item Gdy chcemy sugerować pewne typy obiektów, które powinny być dodawane
      do folderu, jednak nie chcemy całkowicie blokować możliwości dodawania
      obiektów innych typów. Przykładem może być folder \emph{Multimedia} do
      którego chcemy aby głównie były dodawane \emph{Pliki} i \emph{Obrazy} lecz
      do którego można też w razie konieczności dodać \emph{Stronę} z linkami
      do multimediów w innych serwisach. Aby osiągnąć taki efekt należy zaznaczyć
      w sekcji \emph{Dozwolone typy treści} tylko typy \emph{Plik},
      \emph{Obraz}, \emph{Strona} a w sekcji \emph{Preferowane typy treści}
      tylko typ \emph{Strona}. Po zapisaniu zmian i powrocie do folderu w menu
      \emph{Dodaj element} będziemy mieć dwie typy do wyboru (\emph{Plik} i
      \emph{Obraz}). Aby dodać \emph{Stronę} należy z menu wybrać opcję więcej i
      na nowym ekranie wybrać typ \emph{Strona}.
    \end{itemize} 
	
	\subparagraph{}
	Po wybraniu typu nowo tworzonego obiektu Plone przeniesie nas na ekran edycji
	(omówiony w następnej podsekcji).
	
	\subsection{Edycja obiektów}
	\label{sec:cms:objects:editing}
	
	\subsubsection{Formularz edycji}
	\label{sec:cms:objects:editing:edit}
	
	\subparagraph{}
	Aby edytować właściwości obiektu w Plone należy przejść na zakładkę
	\emph{Edycja} (Rys. \ref{cms-object-editing1} s. \pageref{cms-object-editing1}). Ekran edycji posiada kilka
	zakładek (\emph{Kategoryzacja}, \emph{Daty}, itd.) z których najważniejsza jest
	zakładka \emph{Domyślne}. Na niej znajdują się podstawowe pola danego obiektu.
	Szczególnym polem jest \emph{Tytuł}. Wartość wpisana tutaj pojawia się jako
	nazwa obiektu w nawigacji, tytule okna oraz na zakładkach. Ekran edycji może
	posiadać rożne wyspecjalizowane pola, od prostych pól tekstowych po pola do
	załączania plików lub wyspecjalizowane edytory HTML. 
	
	\begin{figure}
    	\includegraphics[width=15cm]{images/cms-objects-editing1.png}
    	\caption{Ekran edycji obiektu}
    	\label{cms-object-editing1}
    \end{figure}

	\subsubsection{Edycja w miejscu}
	\label{sec:cms:objects:editing:inline}
	
	\subparagraph{}
	Plone umożliwia bardzo wygodny interfejs edycji w miejscu. Wartość niektórych pól
	obiektów w Plone można zmieniać z poziomu ekranu widoku. Pola które to
	umożliwiają mają po najechaniu na nie kursorem myszy charakterystyczny wygląd
	przypominający pola tekstowe. Aby edytować wartość takiego pola wystarczy na
	nim kliknąć aby otworzyć miniaturowy formularz edycji. Po zapisaniu zmian są
	one natychmiast widoczne bez potrzeby przeładowania strony.

	\subsubsection{Kategoryzacja}
	\label{sec:cms:objects:editing:categories}
	
	\subparagraph{}
	W Sieci bardzo ważne jest łatwe wyszukiwanie informacji. Klasycznym mechanizmem
	umożliwiającym znalezienie szukanej wiadomości są wyszukiwarki tekstowe. Plone
	zawiera wbudowaną wyszukiwarkę. Innym sposobem ułatwienia internautom dotarcia
	do potencjalnie interesujących zasobów jest kategoryzacja zasobów oraz
	tworzenie powiązań między poszczególnymi obiektami w serwisie internetowym. W
	Plone do obsługi tych funkcji służy zakładka \emph{Kategoryzacja} w ekranie
	edycji (Rys. \ref{cms-object-editing2} s. \pageref{cms-object-editing2}). 
	
	\begin{figure}
    	\includegraphics[width=15cm]{images/cms-objects-editing2.png}
    	\caption{Kategoryzacja obiektu}
    	\label{cms-object-editing2}
    \end{figure}
	 

	\subparagraph{}
	Zakładka ta umożliwia przypisywanie elementom kategorii
	(inaczej tagów) na podstawie których można później w łatwy sposób filtrować
	zawartość. Aby przypisać obiektowi nową (nie istniejącą jeszcze) kategorię,
	należy wpisać ją w polu po prawej (\emph{Nowe kategorie}). Aby dodać kilka
	kategorii na raz należy wpisać je w tym polu jedna pod drugą. Można też
	skorzystać z już dodanych kategorii wyświetlanych po lewej stronie
	(\emph{Istniejące kategorie}). W tym przypadku wystarczy kliknięciem zaznaczyć
	żądane tagi. Aby wybrać kilka kategorii na raz należy klikać trzymając
	wciśnięty przycisk \begin{tt}CTRL\end{tt}. Tagi ułatwiają internautom znalezienie elementów
	strony o podobnej tematyce. Katagorie są wspólne dla całego portalu. Oznacza
	to, że jeśli mamy kilka stron które chcemy przypisać do pewnego zbioru
	kategorii, to każdą kategorię trzeba będzie wpisać tylko raz, w pozostałych
	stronach wystarczy wybrać ją z gotowego menu. Internauci będą mogli w prosty
	sposób wyszukać w portalu wszystkie elementy, które mają przypisane takie same
	kategorie jak aktualnie przeglądany obiekt (Rys. \ref{cms-object-editing3} s. \pageref{cms-object-editing3}). 
	
	\begin{figure}
    	\includegraphics[width=15cm]{images/cms-objects-editing3.png}
    	\caption{Widok elementu z kategoriami i powiązanym elementem}
    	\label{cms-object-editing3}
    \end{figure}
	
	\subsubsection{Podobne elementy}
	\label{sec:cms:objects:editing:references}
	
	\subparagraph{}
	Stronom można przypisać \emph{Podobne elementy} ułatwiając internautom
	znalezienie powiązanych informacji podając bezpośrednio element powiązany z
	bieżącym obiektem. Linki (łącza) do podobnych elementów zostaną pokazane
	internautom umożliwiając szybkie przejście do wskazanych elementów (Rys. 
	\ref{cms-object-editing3} s. \pageref{cms-object-editing3}). Aby dodać powiązane elementy należy kliknąć
	przycisk \emph{Dodaj\ldots} na zakładce \emph{Kategoryzacja}. Otworzy się nowe
	okno (Rys. \ref{cms-object-editing4} s. \pageref{cms-object-editing4}) w którym można wybrać powiązane obiekty
	portalu. Można nawigować po portalu korzystając z breadcrumbów i klikając na
	obiekty folderów. Aby wstawić powiązany obiekt należy kliknąć na odnośnik
	\emph{Wstaw}. Można również skorzystać z wyszukiwarki. Po wybraniu elementów
	można zamknąć nowe okno.
	
	\begin{figure}
    	\includegraphics[width=15cm]{images/cms-objects-editing4.png}
    	\caption{Przeglądarka referencji}
    	\label{cms-object-editing4}
    \end{figure}
	
	\subparagraph{}
	Na zakładce \emph{Kategoryzacja} można również wstawić informacje o położeniu
	geograficznym obiektu wpisując te dane do pola \emph{Lokalizacja}.
	
	\subsubsection{Daty}
	\label{sec:cms:objects:editing:dates}
	
	\subparagraph{}
	Zakładka \emph{Daty} (Rys. \ref{cms-object-editing5} s. \pageref{cms-object-editing5}) umożliwa ustawienie
	dwóch dat dotyczących obiektu:
	\begin{itemize}
      \item \emph{Daty publikacji} - data ta określa \begin{bf}od\end{bf} kiedy element ma
      pojawiać się w portalu; \begin{bf}przed\end{bf} tą datą internauci nie zobaczą tego
      elementu w nawigacji ani nie będą mogli odszukać go za pomocą wyszukiwarki
      \item \emph{Daty ważności} - data ta określa \begin{bf}do\end{bf} kiedy element ma
      pojawiać się w portalu; \begin{bf}po\end{bf} tej dacie internauci nie zobaczą tego
      elementu w nawigacji ani nie będą mogli odszukać go za pomocą wyszukiwarki. 
    \end{itemize}
    Daty te mogą mieć przykładowe zastosowanie dla elementów typu
    \emph{Aktualność}. Dzięki nim możemy ustawić, że wcześniej zredagowana
    aktualnoość pojawi się dopiero na tydzień przed danym, zaplanowanym
    terminam i zdezaktualizuje się po określonym czasie.
    Daty można ustawić albo wybierając odpowiednie opcje z list rozwijanych albo
    klikając na ikonie kalendarza. Po kliknięciu ikony pojawi się kalendarz z
    którego możemy w szybki sposób wybrać interesującą nas datę.
    
    \begin{figure}
    	\includegraphics[width=15cm]{images/cms-objects-editing5.png}
    	\caption{Zakładka Daty}
    	\label{cms-object-editing5}
    \end{figure}

	\subsubsection{Autorzy}
	\label{sec:cms:objects:editing:authors}

	\subparagraph{}
	Zakładka \emph{Autorzy} umożliwia wpisanie informacji o autorach treści. W
	kolejnych polach \emph{Autorzy}, \emph{Współautorzy}, \emph{Prawa} można wpisać
	autorów, każdego w nowej linii.

	\subsubsection{Ustawienia}
	\label{sec:cms:objects:editing:settings}
	
	\subparagraph{}
	Zakładka \emph{Ustawienia} zawiera dwie opcje:
	\begin{itemize}
      \item \emph{Zezwalaj na komentarze} - zaznaczanie tej opcji umożliwi
      użytkownikom komentowanie elementu; użytkownicy po kliknięciu przycisku
      \emph{Dodaj komentarz} będą mogli zostawić krótki komentarz opatrzony
      tematem; komentarze użytkowników wyświetlą się pod widokiem zawartości.
      \item \emph{Wyłącz z nawigacji} - zaznaczenie tej opcji sprawi, że
      edytowany obiekt nie będzie się pojawiał w drzewie nawigacyjnym. Będzie
      się można do niego odwołać przez URL. 
    \end{itemize}
    
    
   	\subsection{Zmiana widoku}
    \label{sec:cms:objects:viewchange}
    
    \subparagraph{}
    Niektóre typy obiektów w Plone posiadają więcej niż jeden widok/szablon.
    Przez widok rozumiemy domyślny układ i sposób prezentacji obiektu dla internautów.
    Przykładowo elementy typu \emph{Folder} posiadają \emph{Widok miniaturek}, na
    którym pokazywane są podglądy obrazków w folderze (Rys.
    \ref{cms-object-editing6} s. \pageref{cms-object-editing6}), a także \emph{Widok tabelaryczny}, który
    przypomina widok zakładki \emph{Zawartość} (Rys. \ref{cms-object-editing7} 
    s. \pageref{cms-object-editing7}).
    
    \begin{figure}
    	\includegraphics[width=15cm]{images/cms-objects-editing6.png}
    	\caption{Widok miniaturek}
    	\label{cms-object-editing6}
    \end{figure}

	\begin{figure}
    	\includegraphics[width=15cm]{images/cms-objects-editing7.png}
    	\caption{Widok tabelaryczny}
    	\label{cms-object-editing7}
    \end{figure}

	Aby zmienić domyślny widok obiektu należy przejść na jego zakładkę
	\emph{Widok}. U góry wyświetli się menu \emph{Pokaż} z którego można wybrać
	domyślny widok elementu (Rys. \ref{cms-object-editing8} s. \pageref{cms-object-editing8}). Lista możliwych
	widoków jest zależna od typu wybranego elementu.
	
	\begin{figure}
    	\includegraphics[width=15cm]{images/cms-objects-editing8.png}
    	\caption{Menu Pokaż}
    	\label{cms-object-editing8}
    \end{figure}
	
	\subsubsection{Elementy domyślne}
	\label{sec:cms:objects:editing:defaultitems}
	
	\subparagraph{}
	Obiekty typu folderu mają dodatkową opcję w menu \emph{Pokaż}: \emph{Wybierz
	element jako widok domyślny}. Umożliwia ona wybranie podelementu danego
	folderu, które będzie wyświetlany zamiast widoku domyślnego dla folderu. Można
	w ten sposób tworzyć własne ``strony główne'' dla całego portalu lub
	poszczególnych folderów. W ten sposób ustawiona jest strona \emph{Witamy w
	Plone}, która domyślnie wyświetla się po instalacji Plone. Należy zauważyć, że
	elementy które są ustawione jako domyślne widoki swoich folderów nie pojawiają
	się w nawigacji.
	

\section{Foldery}
\label{sec:cms:folders}

	\subsection{Operacje w folderach}
	\label{sec:cms:folders:operations}
	
	\subparagraph{}
	Obiekty w Plone są zorganizowane podobnie jak pliki na dysku w formie drzewa
	katalogów. Każdy obiekt zawiera się w innym obiekcie, aż do najwyżej w
	hierachii położonego obiektu Portalu. Strukturę tę zapewniają foldery - obiekty
	mogące zawierać w sobie inne obiekty. Są one podobne do zwykłych obiektów
	takich jak \emph{Strony}, \emph{Pliki} lub \emph{Obrazki}, w taki sam sposób
	się je dodaje i edytuje. Dodatkowo posiadają menu \emph{Dodaj element}, opisane
	w poprzednim rozdziale, za pomocą którego można dodawać do nich nowe obiekty.
	Posiadają także dodatkową zakładkę \emph{Zawartość} która pozwala na
	przejrzenie obiektów zawartych w danym folderze. 
	
	\subsubsection{Zmiana nazwy}
	\label{sec:cms:folders:operations:rename}
	Aby zmienić nazwę obiektu należy przejść do zakładki \emph{Zawartość} obiektu
	nadrzędnego do danego. Na ekranie widoku zawartości (Rys.
	\ref{cms-object-operations1} s. \pageref{cms-object-operations1}) należy zaznaczyć pole wyboru przy żądanym (lub
	żadanych elementach) i wybrać przycisk \emph{Zmień nazwę}. Zostaniemy
	przeniesieni do nowego ekranu (Rys. \ref{cms-object-operations2} s. \pageref{cms-object-operations2}), na którym
	będą wyświetlone formularze zmiany nazwy i tytułu elementu (lub elementów
	jeśli został wybrany więcej niż jeden). Formularz zawiera dwa pola dla każdego
	elementu:
	\begin{itemize}
      \item \emph{Nowa nazwa} - pole umożliwia zmianę nazwy pod jakę obiekt
      będzie się wyświetlał w adresie URL; w polu tym można wpisywać tylko znaki
      dozwolone w adresie URL - przykładem zabronionych znaków są ``?'', ``:'';
      Plone nie pozwoli na użycie tych znaków - przy próbie zapisu zmian
      zostanie wyświetlony komunikat o błędzie
      \item \emph{Nowy tytuł} - pole umożliwia zmianę tytułu obiektu.
    \end{itemize}
    Zmiany zatwierdza się klikając przycisk \emph{Zmień nazwę wszystkim}.
	
	\begin{figure}
    	\includegraphics[width=15cm]{images/cms-objects-operations1.png}
    	\caption{Widok zawartości folderu}
    	\label{cms-object-operations1}
    \end{figure}

	\begin{figure}
    	\includegraphics[width=15cm]{images/cms-objects-operations2.png}
    	\caption{Formularz zmiany nazwy}
    	\label{cms-object-operations2}
    \end{figure}

	\subparagraph{}
	Innym sposobem zmiany nazwy obiektu jest użycie opcji \emph{Zmień nazwę} z menu
	\emph{Akcje} bezpośrenio na obiekcie, którego nazwę chcemy zmienić. Odnośnik
	ten prowadzi do opisanego wyżej ekranu, wyświetlającego jednak zawsze
	formularz zmiany nazwy dla pojedynczego obiektu.
	
	\subsubsection{Wytnij, Kopiuj, Wklej}
	\label{sec:cms:folders:operations:cutcopypaste}
	
	Plone umożliwia znane z menedżerów plików lub edytorów tekstu polecenia
	\emph{Wytnij}, \emph{Kopiuj} i \emph{Wklej}. Dostęp do tych poleceń można
	uzyskać z widoku \emph{Zawartości} folderu nadrzędnego (Rys.
	\ref{cms-object-operations1} s. \pageref{cms-object-operations1}).
	
	Aby przenieść obiekty do innego folderu należy na zakładce \emph{Zawartość}
	zaznaczyć pole wyboru przy żądanych elementach a następnie kliknąć przycisk
	\emph{Wytnij}. Zostanie wyświetlone powiadomienie o wycięciu elementów oraz
	uaktywni się przycisk \emph{Wklej}. Należy przenieść się do folderu do którego
	chcemy przenieść wybrane obiekty, przejść na jego zakładkę \emph{Zawartość}.
	Tutaj można kliknąć przycisk \emph{Wklej}. Wycięte elementy zostaną
	przeniesione do aktualnie wybranego folderu.
	
	\subparagraph{}
	Możliwe jest dalsze przenoszenie elementów tak długo jak pozostają one w
	``schowku'' Plone. Należy jednak pamiętać że wklejenie obiektów do kolejnego
	katalogu powoduje usunięcie ich z katalogu w którym znajdowały się poprzednio.
	Nie można w ten sposób kopiować elementów - Plone różni się w tym względzie od
	edytorów tekstu w których można za pomocą komend ``Wytnij'', ``Wklej'' również
	kopiować elementy.
	
	\subparagraph{}
	Aby skopiować elementy należy użyć przycisku \emph{Kopiuj} na zakładce
	\emph{Zawartość} folderu nadrzędnego po uprzednim zaznaczeniu żądanych
	elementów. Następnie należy przejść do folderu do którego chcemy skopiować
	elementy i kliknąć przycisk \emph{Wklej}. Wybrane obiekty zostaną skopiowane do
	bieżącego folderu. Możliwe jest dalsze wklejanie elementów tak długo jak
	pozostają one w ``schowku'' Plone. Za pomocą opcji \emph{Kopiuj} elementy
	zostają skopiowane, można więc w ten sposób zrobić kopie elementów w kilku
	folderach. Można także wkleić obiekty w katalogu, z którego zostały skopiowane.
	Zostaną im nadane takie same tytuły jak oryginalnym elementom ale inne nazwy
	używane w URL.
	
	\subparagraph{}
	Innym sposobem wykonynania czynności ``wytnij, kopiuj, wklej'' jest
	skorzystanie z menu \emph{Akcje}. Należy przejść do elementu który chcemy
	wyciąć bądź skopiować i z menu \emph{Akcje} wybrać \emph{Wytnij} lub
	\emph{Kopiuj}. W schowku Plone zostanie zapisany aktualny obiekt. Aby wkleić
	zapamiętany obiekt w innym miejscu należy przejść do docelowego folderu i z
	menu \emph{Akcje} wybrać opcję \emph{Wklej}. Jeśli spróbujemy wkleić obiekty
	będąc w elemencie nie będącym folderem (np. w \emph{Obrazie} lub \emph{Pliku})
	Plone wklei je ``obok'' bieżącego elementu (folderze go zawierającym).
	Korzystając z menu \emph{Akcje} możemy wycinać lub kopiować tylko jeden obiekt
	na raz.	 
	
	\subsubsection{Usuwanie}
	\label{sec:cms:folders:operations:deleting}
	
	Każdy z elementów Portalu można usunąć. Można tego dokonać na dwa sposoby:
	\begin{itemize}
      \item korzystając z widoku \emph{Zawartość}(Rys. 
      \ref{cms-object-operations1}  s. \pageref{cms-object-operations1}) folderu nadrzędnego: należy
      zaznaczyć pole wyboru obok elementu lub elementów do usunięcia i kliknąć
      przycisk \emph{Usuń}
      \item korzystając z menu \emph{Akcje} obiektu, który chcemy usunąć: należy
      przejść do elementu do usunięcia i z menu \emph{Akcje} wybrać opcję
      \emph{Usuń}; Plone wyświetli ekran potwierdzenia.
    \end{itemize}
    Po usunięciu elementu Plone wyświetli komunikat o pomyślnym usunięciu
    elementu lub elementów.
	
	\subparagraph{}
	Czasami zdarza się że nie można usunąć obiektu. Często jest to spowodowane
	blokadą danego obiektu. Należy wtedy najpierw zdjąć bolkadę (zobacz rozdział
	Blokady i Wersje), a następnie powtórnie spróbować usunąć dany obiekt.
	
	\subsubsection{Zmiana kolejności}
	\label{sec:cms:folders:operations:ordering}
	
	\subparagraph{}
	Elementy w folderach układane są w kolejności ich dodania do folderu. W
	nawigacji elementy wyświetlane są w takiej samej kolejności w jakiej pokazują
	się w zakładce \emph{Zawartość} (Rys. \ref{cms-object-operations1} s. \pageref{cms-object-operations1}) folderu.
	Kolejność tych elementów można swobodnie zmieniać w częsci folderów, aby
	przykładowo umieścić bardziej popularne	elementy na	szczycie listy. Nie
	wszystkie foldery obsługują zmianę kolejności elementów. Foldery które to
	umożliwiają będą miały w tabelce na zakładce \emph{Zawartość} kolumnę
	\emph{Kolejność}. Kolejność elementów można	zmienić chwytając i
	przeciągając elementy w kolumnie \emph{Kolejność} na pożądane miejsce (technika
	``drag-and-drop''). Zmiany kolejności zostaną od razu zapisywane.
	
	\subsection{Folder użytkownika}
	\label{sec:cms:folders:user_folder}
	
	\subparagraph{}
	W Plone można ustawić, aby każdy nowy użytkownik miał tworzony swój własny
	folder użytkownika. W folderze tym może on trzymać własną treść. Po zalogowaniu
	się do portalu można dostać się do swojego folderu przez odnośnik \emph{Mój
	folder} wyświetlany obok odnośnika wylogowania na górnej belce (Rys.
	\ref{cms-object-editing9} s. \pageref{cms-object-editing9}).
	
	
	\begin{figure}
    	\includegraphics[width=15cm]{images/cms-objects-editing9.png}
    	\caption{Odnośnik do folderu użytkownika}
    	\label{cms-object-editing9}
    \end{figure}

	Folder użytkownika znajduje się w folderze \begin{tt}Users\end{tt} i ma taką
	samą nazwę jak nazwa użytkownika. Innym sposobem dotarcia do niego jest
	nawigowanie po portalu do folderu Users (odnośnik do tego folderu powinien też
	znajdować się na górnym pasku zakładek). W folderze użytkownika można
	przechowywać własną treść. Domyślnie folder ten	jest prywatny, więc inni
	użytkownicy nie będą mogli widzieć jego zawartości. Folder użytkownika
	zachowuje się jak zwykły folder i obsługuje się go w standardowy sposób.

\section{Zbiory}
\label{sec:cms:collections}

	\subparagraph{}
	\emph{Zbiory} lub \emph{Kolekcje} to jedna z najbardziej zaawansowanych
	funkcjonalności Plone. Pozwalają one na generowanie dynamicznej treści.
	Pozwalają na zbieranie i filtrowanie informacji z całego portalu lub z jego
	części.
	
	\subsection{Zasada działania}
	\label{sec:cms:collections:intro}
	
	\subparagraph{}
	\emph{Zbiory} działają jak zaawansowana wyszukiwarka. Można je przyrównać do
	zapisanych na stałe wyszukiwań, które są aktualizowane za każdym razem, gdy
	użytkownik chce wyświetlić \emph{Zbiór}. Podstawą działania \emph{Zbiorów} są
	kryteria. Są to kryteria wyszukiwania, które można swobodnie dodawać, edytować
	i usuwać. Dodając kryterium daty oraz typu obiektu można łatwo stworzyć
	\emph{Zbiór} wyświetlający najnowsze \emph{Aktualności} z całego portalu.
	\emph{Zbiory} pozwalają uniezależnić się od klasycznej struktury folderów
	Portalu aby dostarczać lepiej dopasowaną treść.
	
	\subsection{Dodawanie Zbioru}
	\label{sec:cms:collections:adding}
	
	\subparagraph{}
	Aby dodać nowy \emph{Zbiór} należy przejść do folderu gdzie chcemy go umieścić
	i z menu \emph{Dodaj element} wybrać \emph{Zbiór}. Wyświetlony zostanie
	formularz dodawania \emph{Zbioru} (Rys. \ref{cms-collections-adding1} s. \pageref{cms-object-adding1}).
	
	\begin{figure}
    	\includegraphics[width=13cm]{images/cms-collections-adding1.png}
    	\caption{Dodawanie Zbioru}
    	\label{cms-collections-adding1}
    \end{figure}

	Formularz posiada standardowe pola \emph{Tytuł}, \emph{Opis}, \emph{Treść} oraz
	kilka niestandardowych:
	\begin{itemize}
      \item \emph{Ogranicz liczbę wyników} - jeśli to pole jest zaznaczone,
      \emph{Zbiór} wyświetli tylko pewną liczbę pierwszych wyników wyszukiwania
      \item \emph{Liczba elementów} - określa ile maksymalnie elementów może być
      wyświetlone przez \emph{Zbiór}; pole to jest brane pod uwagę tylko jeśli
      \emph{Ogranicz liczbę wyników} jest zaznaczone
      \item \emph{Wyświetl jako tabelę} - umożliwia przełączanie wyświetlania
      \emph{Zbioru} w formie tabeli
      \item \emph{Kolumny tabel} - pozwala wybrać, jakie kolumny tabeli będą
      wyświetlane; dodawanie i usuwanie kolumn dokonuje się przez przesuwanie
      elementów z lewej (kolumny niewidoczne) do prawej (kolumny widoczne) za
      pomocą przycisków \begin{tt}>>\end{tt} i \begin{tt}<<\end{tt}.
    \end{itemize}
	
	\subsection{Kryteria}
	\label{sec:cms:collections:critertia}
	
	\subparagraph{}
	Po utworzeniu \emph{Zbioru} jego kryteria wyszukiwania można edytować na
	zakładce \emph{Kryteria}. Ekran edycji kryteriów (Rys.
	\ref{cms-collections-criteria1} s. \pageref{cms-object-criteria1}) składa się z trzech częsci:
	\begin{itemize}
      \item listy aktualnych kryteriów
      \item pola dodawania nowych kryteriów
      \item ustawień sortowania.
    \end{itemize}
    
    \begin{figure}
    	\includegraphics[width=13cm]{images/cms-collections-criteria1.png}
    	\caption{Edycja kryteriów}
    	\label{cms-collections-criteria1}
    \end{figure}
    
    \subsubsection{Edycja kryteriów}
    \label{sec:cms:collections:critertia:edit}
    
    \subparagraph{}
    Do jednego \emph{Zbioru} można dodać wiele kryteriów. Podczas wyszukiwania
    wszystkie kryteria są łączone operatorem \emph{I}, więc wyniki wyszukwiania
    muszą spełniać \begin{bf}wszystkie\end{bf} ustawione kryteria.
    Plone posiada następujący zestaw kryteriów:
    \begin{itemize}
      \item \emph{Kategorie} - pozwala na filtrowanie obiektów bazując na
      kategoriach ustawianych na zakładce \emph{Kategoryzcja} ekranu edycji
      obiektu (zob. rozdział \ref{sec:cms:objects:editing} ); możliwe jest wybór
      tagów na 3 sposoby (\emph{Rozdzaj kryterium}):
      	\begin{itemize}
            \item \emph{Tekst} - ręczne wpisanie pojedynczego taga
            \item \emph{Lista wartości} - ręczne wpisanie kilku tagów, każdy w
            nowej linii
            \item \emph{Wybierz wartości z listy} - wybór z listy zawierającej
            wszystkie do tej pory użyte w portalu tagi
        \end{itemize}
      \item \emph{Data utworzenia} - pozwala na filtrowanie obiektów po dacie
      ich utworzenia; dostępne są dwa rodzaje kryterium dat:
      	\begin{itemize}
            \item \emph{Data względna} - pozwala na ustawienie daty relatywnej
            od obecnej, przykładowo ``mniej niż 2 dni w przeszłości''; tym
            ustawieniem można łatwo stworzyć \emph{Zbiór} wyświetlający zawsze
            najnowsze \emph{Aktualności}
            \item \emph{Przedział czasu} - pozwala na ustawienie daty
            początkowej i daty końcowej; \emph{Zbiór} wyświetli tylko obiekty
            których data mieści się między początkową a końcową; można
            pozostawić jedną z dat pustą, aby nie była brana pod uwagę
          \end{itemize}
      \item \emph{Data modyfikacji} - pozwala na filtrowanie obiektów po dacie
      ostatniej modyfikacji; rodzaje kryterium takie same jak \emph{Data utworzenia}
      \item \emph{Autor} - pozwala na filtrowianie obiektów po autorze
      zawartości; autora można wybrać na 4 sposoby:
		\begin{itemize}
          \item \emph{Tekst} - ręczne wpisanie pojedynczego autora
          \item \emph{Lista wartości} - ręczne wpisanie autorów, każdy w nowej linii
          \item \emph{Wybierz wartość z listy} - wyświetlona zostanie lista
          użytkowników Portalu, z której będzie można wybrać interesujących
          \item \emph{Ogranicz do aktualnego użytkownika} - powoduje, że obiekty
          zostaną odfiltrowane zgodnie z aktualnie zalogowanym użytkownikiem;
          opcja ta pozwala tworzyć spersonalizowane kolekcje - np. wszystkie
          ``moje'' niedawno utworzone obiekty
        \end{itemize}
      \item \emph{Opis} - pozwala filtrować obiekty po zawartości ich opisu
      \item \emph{Data obowiązywania} - pozwala filtrować obiekty po dacie
      obowiązywanie (zob. rodział \ref{sec:cms:objects:editing}); rodzaje
      kryterium takie same jak \emph{Data utworzenia}
 	  \item \emph{Data wygaśnięcia} - pozwala filtrować obiekty po dacie końcowej
	  (zob. rodział \ref{sec:cms:objects:editing}); rodzaje kryterium takie same
	  jak \emph{Data utworzenia}
	  \item \emph{Data początkowa} - pozwala filtrować obiekty po dacie początkowej
      (istotne w przypadku \emph{Aktualności}); rodzaje kryterium takie same
      jak \emph{Data utworzenia}  
      \item \emph{Data końcowa} - pozwala filtrować obiekty po dacie końcowej
      (istotne w przypadku \emph{Aktualności}); rodzaje kryterium takie same
      jak \emph{Data utworzenia}
      \item \emph{Typ elementu} - pozwala filtrować obiekty po ich typie; należy
      wybrać interesujące typy z listy wszystkich typów w Portalu
      \item \emph{Lokalizacje} - pozwala filtrować obiekty po ich lokalizacji w
      Portalu; lokalizację można określić na dwa sposoby:
      	\begin{itemize}
            \item \emph{Lokalizacja w portalu} - pozwala wybrać elementy w
            sposób podobny do wyboru powiązanych elementów (zob. rozdział
            \ref{sec:cms:objects:editing}); dodatkowe pole \emph{Przeszukaj
            podfoldery} pozwala na aktywację rekurencyjnego przeszukiwania
            folderów (nie tylko w wybranym folderze, ale też w jego podfolderach
            i podfolderach jego podfolderów) 
            \item \emph{Lokalizacja relatywna do aktualnej} - pozwala
            przeszukiwać elementy względem względnej ścieżki URL; możliwe jest
            używanie standardowego zapisu ``..'' oznaczającego folder nadrzędny;
            przykładowe zapisy: ``..'' folder nadrzędny, ``../..'' folder
            nadrzędny folderu nadrzędnego, ``../brat'' folder ``brat'' będący na
            tym samym poziomie
          \end{itemize}
      \item \emph{Podobny do} - pozwala wybrać elementy skojarzone; to kryterium
      wykorzystuje pole \emph{Podobne elementy} z zakładki \emph{Kategoryzacja}
      ekranu edycji (zob. rodział \ref{sec:cms:objects:editing})
      \item \emph{Szukaj tekstu} - pozwala filtrować obiekty po zawartym w nim
      tekście; szukaną frazę należy wpisać w pole tekstowe \emph{Wartość}
      \item	\emph{Nazwa} - pozwala filtrować obiekty po nazwie wykorzystywanej w
      adresie URL; można podać jedną (rodzaj \emph{Tekst}) lub kilka (rodzaj
      \emph{Lista wartości}) wartości
      \item \emph{Stan} - pozwala filtrować obiekty po ich stanie (workflow);
      rodzaje kryteriów jak dla \emph{Kategorie}
      \item \emph{Tytuł} - pozwala filtrować obiekty po ich tytule
      \item \emph{Tytuł do celów sortowania} - pozwala filtrować obiekty po
      tytule w bardziej zaawansowany sposób
    \end{itemize}
    
    \subsubsection{Sortowanie}
    \label{sec:cms:collections:critertia:sorting}
    
    \subparagraph{}
    W sekcji ustawień sortowanie można wybrać względem jakiego pola chcemy aby
    wyniki wyszukiwania były sortowane. Interesujące pole należy wybrać z listy
    \emph{Nazwa pola}. Dodatkowo można przełączać między sortowaniem zwykłym a
    odwróconym (pole \emph{Odwróć}). Przełączając wartość tego pola można
    uzyskać przykładowo sortowanie wiadomości począwszy od najnowszych lub
    począwszy od najstarszych.
	
	\subsection{Podzbiory}
	\label{sec:cms:collections:subcollections}
	
	\subparagraph{}
	Plone umożliwia tworzenie \emph{Zbiorów} w innych \emph{Zbiorach}. Aby dodać
	\emph{Zbiór} do istniejącego \emph{Zbioru} należy przejść na zakładkę
	\emph{Widok} istniejącego obiektu i wybrać \emph{Dodaj zbiór}. Formularz
	dodawania nowego podzbioru różni się jednym polem od zwykłego formularza
	dodawania \emph{Zbioru}: pole \emph{Dziedzicz kryteria} spowoduje, że nowy
	\emph{Zbiór} będzie korzystał z kryteriów nadrzędnego obiektu i swoimi
	kryteriami będzie zawężał wyniki wyszukiwania swojego rodzica. 
	
	\subparagraph{}
	Zdefiniowanie w podzbiorze tych samych kryteriów jak w \emph{Zbiorze}
	nadrzędnym, kryteria ze \emph{Zbioru} nadrzędnego zostaną zignorowane.
	
	\subparagraph{}
	Należy zachować ostrożność podczas kopiowania podzbioru w inne miejsce. Jeśli
	podzbiór zostanie przeniesiony w inne miejsce portalu i będzie miał włączone
	\emph{Dziedziczenie kryteriów}, to kryteria nadrzędnego \emph{Zbioru} zostaną
	utracone. Jeśli \emph{Zbiór} zostanie wklejony wewnątrz innego \emph{Zbioru} i
	miał włączone \emph{Dziedziczenie kryteriów}, to odziedziczy kryteria po nowym
	rodzicu.
		
	\subsection{RSS}
	\label{sec:cms:collections:rss}
	
	\subparagraph{}
	Wszyskie kolekcje w Plone posiadają widok RSS (kanału informacyjnego). Jeśli
	przeglądarka obsługuje kanały RSS, to po wejściu w kolekcję w Portalu,
	przeglądarka powiadomi o możliwości zapisania do kanału RSS danej kolekcji.
	Można w ten	sposób tworzyć przykładowo listy najnowszych widomości, które
	internauci mogą w łatwy sposób subskrybować za pomocą ich preferowanego
	programu do obsługi kanałów informacyjnych. Kanały RSS w Plone są
	automatycznie uaktualniane i nie wymagają specjalnej obsługi.

\section{Blokady, Wersje}
\label{sec:cms:locks}

	\subparagraph{}
	Plone jest narzędziem współpracy między ludźmi, w tym także dużymi grupami
	ludzi. W takim środowisku często następują konflikty, gdy dwóch użytkowników
	próbuje	edytować ten sam obiekt. Często też zmiany wprowadzone przez jednego
	użytkownika nie podobają się innemu, który uważa, że poprzednia wersja była
	lepsza. Poniższy rodział przedstawia mechanizmy Plone odpowiadające na
	wymienione problemy.  

	\subsection{Blokady}
	\label{sec:cms:locks:locks}
	
	\subparagraph{}
	Nad dużymi portalami często pracuje wielu edytorów. Może się zdarzyć, że dwie
	osoby będą chciały w tym samym momencie zmienić treść tej samej podstrony. Bez
	zabezpieczeń ostateczną wersją byłaby ta, która została zapisana później, a
	zmiany zapisane przez szybszego użytkownika zostały utracone.
	
	\subparagraph{}
	W Plone dokumenty posiadają blokady, które uniemożliwiają dwóm użytkownikom
	pracę nad tym samym dokumentem w jednym momencie. Gdy użytkownik rozpoczyna
	edycję obiektu, Plone ustawia blokadę na tym obiekcie. Każdy następny
	użytkownik, który będzie chciał edytować ten obiekt zostanie ostrzeżony o tym,
	że dokument jest już edytowany przez kogoś innego (Rys. \ref{cms-locks-1}  s. \pageref{cms-locks-1}).
	
	\begin{figure}
    	\includegraphics[width=15cm]{images/cms-locks-1.png}
    	\caption{Ostrzeżenie o założonej blokadzie}
    	\label{cms-locks-1}
    \end{figure}

	Może się zdarzyć, że użytkownik zacznie edytować obiekt, ale nie skończy -
	zawiesi mu się przeglądarka lub odejdzie od komputera na dłuższy czas. Wtedy
	blokada może przeszkodzić innemu użytkownikowi, który mógłby już wprowadzić
	swoje zmiany. Plone dostarcza rozwiązanie w takiej sytuacji - możliwe jest
	wymuszenie zdjęcia blokady. Użytkownik, który natrafia na blokadę może wybrać
	opcję \emph{Odblokuj} (\emph{Unlock}) aby wymusić zdjęcie blokady. Przed
	zdjęciem blokady należy upewnić się, że poprzedni użytkownik nie pracuje już na
	obiekcie, gdyż jeśli zdecyduje się on na wprowadzenie swoich poprawek, mogą one
	nadpisać zmiany, które wprowadził użytkownik zdejmujący blokadę.
	
	\subsection{Kopie robocze}
	\label{sec:cms:locks:working_copies}
	
	\subparagraph{}
	Często w serwisach internetowych powstaje potrzeba zmiany treści opublikowanych
	już elementów. Sam proces edycji nie powinien być widoczny dla internautów.
	Zazwyczaj poprawki nie powstają od razu, ale w kilku fazach, gdy ich autorzy
	upewniają się, że wszystko dobrze wygląda. Internauci podczas tych poprawek nie
	powinni widzieć zmian, ale widzieć poprzednią wersję obiektu z chwili jego
	opublikowania. Plone zapewnia taką funkcjonalość przez \emph{Kopie robocze}.
	
	\subparagraph{}
	\emph{Kopie robocze} umożliwiają utworzenie kopii obiektu który jest już
	opublikowany na czas jego edycji. Podczas edycji internauci widzą cały czas
	starą wersję elementu. Edytor może wielokrotnie edytować i sprawdzać wygląd 
	kopii roboczej. Po zakończeniu edycji kopia robocza jest podmieniana z wersją
	opublikowaną i staje się nową wersją bazową.
	
	\subsubsection{Tworzenie kopii roboczej}
	\label{sec:cms:locks:working_copies:creating}
	
	\subparagraph{}
	Aby utworzyć \emph{Kopię roboczą} należy przejść do strony którą chcemy
	edytować. Z menu \emph{Akcje} należy wybrać \emph{Pobierz z magazynu} (Rys.
	\ref{cms-locks-2}  s. \pageref{cms-locks-2}). Zostanie otwarty ekran wyboru miejsca przechowywania kopii
	roboczej (Rys. \ref{cms-locks-3}  s. \pageref{cms-locks-3}). Można wybrać:
	\begin{itemize}
      \item \emph{Folder użytkownika} (\emph{Home folder}) - aby trzymać kopię roboczą
      w swoim katalogu domowym - w ten sposób tylko edytor będzie miał do niej dostęp
      \item \emph{Folder nadrzędny} (\emph{Parent folder}) - aby trzymać kopię
      roboczą w katalogu w którym znajduję się oryginalny obiekt - w ten sposób
      nad kopią roboczą będą mogli pracować także inni edytorzy.      
    \end{itemize}
    Po wybraniu przycisku \emph{Pobierz z magazynu} (\emph{Checkout}) zostanie
    utworzona nowa kopia i zostaniemy do niej przekierowani. Kopię roboczą można
    swobodnie edytować i sprawdzać jej wygląd w zakładce \emph{Widok}.
    
    \begin{figure}
    	\includegraphics[width=15cm]{images/cms-locks-2.png}
    	\caption{Tworzenie kopii roboczej}
    	\label{cms-locks-2}
    \end{figure}

	\begin{figure}
    	\includegraphics[width=15cm]{images/cms-locks-3.png}
    	\caption{Wybór lokalizacji kopii roboczej}
    	\label{cms-locks-3}
    \end{figure}
    
    \subsubsection{Zapisywanie kopii roboczej}
    \label{sec:cms:locks:working_copies:saving}
    
    \subparagraph{}
    Gdy dokonaliśmy poprawek w wersji roboczej i upeniliśmy się, że jest ona
    poprawnie wyświetlana, można zamienić ją z oryginałem. Aby to zrobić należy
    nawigować do obieku kopii roboczej. Następnie z menu \emph{Akcje} należy
    wybrać \emph{Umieść w magazynie} (Rys. \ref{cms-locks-4} s. \pageref{cms-locks-4}). Zostaniemy
    przeniesieni do ekranu komentowania zmian (Rys. \ref{cms-locks-5} s. \pageref{cms-locks-5}). W polu
    tekstowym należy wpisać krótki opis dokonanych w dokumencie zmian.
    
    \begin{figure}
    	\includegraphics[width=15cm]{images/cms-locks-4.png}
    	\caption{Zapisywanie kopii roboczej}
    	\label{cms-locks-4}
    \end{figure}

	\begin{figure}
    	\includegraphics[width=15cm]{images/cms-locks-5.png}
    	\caption{Ekran komentowania}
    	\label{cms-locks-5}
    \end{figure}

	Jeśli rozmyślimy się i rezygnujemy z edycji kopii roboczej, możemy ją usunąć
	korzystając z polecenia \emph{Anuluj pobieranie} w menu \emph{Akcje}. Zostanie
	wyświetlony ekran potwierdzenia. Usunięcie kopii roboczej powoduje odblokowanie
	oryginalnego obiektu do edycji.
	
	\subsection{Wersjonowanie}
	\label{sec:cms:locks:versions}
	
	\subparagraph{}
	W dynamicznie zmieniającym się Portalu często potrzebna jest historia zmian
	dokonanych na obiekcie. Plone dostarcza mechanizm śledzenia historii
	dokumentów. 
	
	\subsubsection{Przeglądanie historii zmian}
	\label{sec:cms:locks:versions:view}
	
	\subparagraph{}
	Aby przejrzeć historię zmian \emph{Strony} należy nawigować do niej i przejść
	na zakładkę historia (Rys. \ref{cms-locks-6} s. \pageref{cms-locks-6}). Tabela prezentuje zapisane
	wersje dokumentu wraz z informacjami o tym, kto dokonywał zmian, kiedy zmiany
	nastąpiły i z komentarzami. Starsze wersje dokumentu można zobaczyć używając
	linków \emph{Podgląd} w kolumnie \emph{Wersje}.
	
	\begin{figure}
    	\includegraphics[width=15cm]{images/cms-locks-6.png}
    	\caption{Widok historii}
    	\label{cms-locks-6}
    \end{figure}
	
	
	\subsubsection{Porównywanie wersji}
	\label{sec:cms:locks:versions:compare}
	Można porównać poszczególne wersje dokumentu. Służą do tego linki w kolumnie
	\emph{Akcje}. Poszczególne wersje można porównywać z aktualną wersją oraz
	wersją poprzednią do danej. Ekran porównania pokazuje różnice między wersjami w
	formie graficznej (Rys. \ref{cms-locks-7} s. \pageref{cms-locks-7}). Można przełączyć się na widok
	dwukolumnowy (Rys. \ref{cms-locks-8} s. \pageref{cms-locks-8}) różnic za pomocą linka \emph{Show code
	differences} a stamtąd z powrotem na wizualny widok różnic za pomocą linka
	\emph{Show visual differences}.
	
	\begin{figure}
    	\includegraphics[width=15cm]{images/cms-locks-7.png}
    	\caption{Porównanie wizualne}
    	\label{cms-locks-7}
    \end{figure}

	\begin{figure}
    	\includegraphics[width=15cm]{images/cms-locks-8.png}
    	\caption{Porównanie dwukolumnowe}
    	\label{cms-locks-8}
    \end{figure}
	
		
	
	\subsubsection{Przywracanie poprzedniej wersji}
	\label{sec:cms:locks:versions:revert}
	
	Można przywrócić poprzednie wersje dokumentu wybierając jeden z linków
	\emph{Confij to tej wersji}.
	